 |
Pigeonhole sort Totally Explained
|
|  |
|
NEW! |
All the latest news in the worlds of
computer gaming,
entertainment,
the environment,
finance,
health,
politics,
science,
stocks & shares,
technology
and much,
much,
more.
|
Everything about Pigeonhole Sort totally explainedPigeonhole sorting, also known as count sort (not to be confused with counting sort), is a sorting algorithm that's suitable for sorting lists of elements where the number of elements ( n) and the number of possible key values ( N) are approximately the same. It requires ( Θ( n + N) time.
The pigeonhole algorithm works as follows:
- Set up an array of initially empty "pigeonholes", one pigeonhole for each value in the range of keys. Each pigeonhole will contain a list of values having that key.
- Go over the original array, adding each object to the list in its pigeonhole.
- Iterate over the pigeonhole array in order, and put elements from non-empty holes back into the original array.
For example, suppose we were sorting these value pairs by their first element:
(5, "hello")
(3, "pie")
(8, "apple")
(5, "king")
For each value between 3 and 8 we set up a pigeonhole, then move each element to its pigeonhole:
3: (3, "pie")
4:
5: (5, "hello"), (5, "king")
6:
7:
8: (8, "apple")
We then iterate over the pigeonhole array in order and move them back to the original list.
The difference between pigeonhole sort and counting sort is that in counting sort, the auxiliary array doesn't contain lists of input elements, only counts:
3: 1
4: 0
5: 2
6: 0
7: 0
8: 1
Using this information we can perform a series of exchanges on the input array that puts it in order; but the elements never leave the input array.
For arrays where N is much larger than n, bucket sort is a generalization that's more efficient in space and time.
Further Information
Get more info on 'Pigeonhole Sort'.
|
External Link Exchanges
Do you know how hard it is to get a link from a large encyclopaedia? Well we're different and will prove it. To get a link from us just add the following HTML to your site on a relevant page:
<a href="http://pigeonhole_sort.totallyexplained.com">Pigeonhole sort Totally Explained</a>
Then simply click through this link from your web page. Our crawlers will verify your link, extract the title of your web page and instantly add a link back to it. If you like you can remove the words Totally Explained and embed the link in article text.
As long as your link remains in place, we'll keep our link to you right here. Please play fair - our crawlers are watching. Your site must be closely related to this one's topic. Any kind of spamming, dubious practises or removing the link will result in your link from us being dropped and, potentially, your whole site being banned. |
|
|